Topics

Focus:

What areas of interpretation will this project focus on?

  • This project will focus on connecting the audience to the topic of bee habitats in an interactive and visual way.

Audience:

Who are you targeting?

  • The ideal audience for the final form of this map will be anyone with an interest in bee species, bee habitats, or Colorado, that also has an ability to engage with technology in the form of a website as accessed through a computer or on a phone.

Objectives:

What are the Objectives? And how will you measure them?

  • The objective of this project is to create an interactive map of the counties of CO and the bee species that can be found within them 1. Here is a link 2.

Introduction:

What is the proposed project? Why is this important? Why is this interesting to me? How will it enhance the Butterfly Pavilion?

  • It is my hope that this interactive map of all native bee species in Colorado will be informative, educational, and will possibly help in the future to track where bee species have moved to or if new species are introduced to CO. This could be beneficial to the Butterfly Pavilion in expanding its resources to include more online items. It is important to understand where these bee species can live to understand more about the climate in each county of the state. Moreover, certain species, honey bees in particular, are keystone species that can show the general health of the area in which they live. Considering the recent decline in honey bee populations it is important to protect their habitats whenever possible in order to maintain a healthy biome for them.
  • When I was younger, and before I moved to CO, I maintained a honey bee hive for many years and grew to love the complexity of a hive and the roles of each bee in a hive. I had since forgotten my love for the amazing pollinator until coming to the Butterfly Pavilion where I learned just how many species of bees are actually native to CO. I assumed because of the dry climate there would be many fewer species of bees. But, at 946 species and counting, CO is a perfect habitat for bees.

Methods:

How was the data collected?

  • The data will all come from the cited article from 2011 of all bee species in CO. I will then transcribe the bees and their counties into an excel doc and import it into ‘R Studio,’ use a map generating software (Plotly) to overlay a political map of CO (to show each county), with the list of bees.

Materials:

What materials will be used? Cost? Where will they come from?

  • All materials will be obtained online and are available for free, public use.

Results:

The following is a map of the number recorded of bee species in Colorado. And a refrence map for the counties.

Discussion:

Although 946 species may seem like a complete count for all bee species in Colorado, it is important to note that, according to the author of the paper, “[the list] is simply documentation of a species in a county if it had been collected and identified from there. […] . Even in Boulder County, undoubtedly the best surveyed county in the state, I estimate we’ve documented less than 85% of what is actually here.” Nevertheless, studying bees, be it their population, habitat, or origin is important these days.

As many of us know the declining bee populations (honey and others) will be detrimental to our society. Not only are honey bees a keystone species indicating the overall health of a biome or ecosystem, but all bees are pollinators. Pollinators are extremely important as their “cross-pollination helps at least 30 percent of the world’s crops and 90 percent of our wild plants to thrive” 3. Without the cross pollination from bees many of the world crops will decrease their yield substantially and will affect the rest of the world’s economies and many other aspects of society.

According to Xerces^ [https://xerces.org/2017/03/17/bring-back-the-pollinators-5-ways-to-increase-nesting-habitat-for-native-bees/] 5 ways to help bee populations are; 1. Mulching in a way that helps bees have easier access to the ground as many bees nest in the ground. 2. Grow raspberries, Joe Pye weed, elderberry, hydrangeas, and/or other plants with pithy hollow stems for nesting bees. 3. Save a dead tree, log, or branch for other insects to develop a habitat and ecosystem. 4. Create a brush pile (unless it is a fire hazard). Similar to the above, decomposing natural materials are beneficial to insect ecosystems. 5. Make a bee house. These crafts are fun to do and great if there is limited access to nesting grounds for bees. Some use cuts of bamboo, others cardboard tubes. Many are elaborate and quite beautiful - but the efficacy of these structures varies widely. Building a bee hotel can be a fun, crafty, D.I.Y. adventure, and provide valuable nesting habitat.

A searchable table for more information:

Feel free to find the number of native bees from your county and their scientific names

install.packages('DT', repos = "http://cran.us.r-project.org")
Error in install.packages : Updating loaded packages
datatable(df, options = list(
  searching = TRUE,
  pageLength = 10,
  lengthMenu = c(5, 10, 15, 20)
), 
filter="top")

  1. Scott, Virginia L. “Bees of Colorado .” Colorado Review, vol. 44, no. 2, 1 Sept. 2011, pp. 20-34., doi:10.1353/col.2017.0059.

  2. https://www.colorado.edu/cumuseum/sites/default/files/attached-files/the_bees_of_colorado.pdf

  3. https://www.nrdc.org/sites/default/files/bees.pdf

  4. https://www.sciencedaily.com/releases/2018/06/180607141031.htm

  5. http://healthimpactnews.com/2014/food-security-why-congress-should-care-about-the-beepocalypse/

LS0tCnRpdGxlOiAiQmVlcyBvZiBDb2xvcmFkbyIKb3V0cHV0OiBodG1sX25vdGVib29rCmF1dGhvcjogQWxleGFuZHJhIFdpdG9uc2t5Ci0tLQohW10oaHR0cHM6Ly9jZG4ucGl4YWJheS5jb20vcGhvdG8vMjAxNS8wNC8wMy8xNi8zNi9iZWUtNzA1NDEyXzEyODAucG5nKQoKIyMgVG9waWNzIHsudGFic2V0IC50YWJzZXQtZmFkZX0KCiMjIyBGb2N1czoKV2hhdCBhcmVhcyBvZiBpbnRlcnByZXRhdGlvbiB3aWxsIHRoaXMgcHJvamVjdCBmb2N1cyBvbj8gCgotIFRoaXMgcHJvamVjdCB3aWxsIGZvY3VzIG9uIGNvbm5lY3RpbmcgdGhlIGF1ZGllbmNlIHRvIHRoZSB0b3BpYyBvZiBiZWUgaGFiaXRhdHMgaW4gYW4gaW50ZXJhY3RpdmUgYW5kIHZpc3VhbCB3YXkuIAoKIyMjIEF1ZGllbmNlOiAKV2hvIGFyZSB5b3UgdGFyZ2V0aW5nPwoKLSBUaGUgaWRlYWwgYXVkaWVuY2UgZm9yIHRoZSBmaW5hbCBmb3JtIG9mIHRoaXMgbWFwIHdpbGwgYmUgYW55b25lIHdpdGggYW4gaW50ZXJlc3QgaW4gYmVlIHNwZWNpZXMsIGJlZSBoYWJpdGF0cywgb3IgQ29sb3JhZG8sIHRoYXQgYWxzbyBoYXMgYW4gYWJpbGl0eSB0byBlbmdhZ2Ugd2l0aCB0ZWNobm9sb2d5IGluIHRoZSBmb3JtIG9mIGEgd2Vic2l0ZSBhcyBhY2Nlc3NlZCB0aHJvdWdoIGEgY29tcHV0ZXIgb3Igb24gYSBwaG9uZS4gCgojIyMgT2JqZWN0aXZlczogCldoYXQgYXJlIHRoZSBPYmplY3RpdmVzPyBBbmQgaG93IHdpbGwgeW91IG1lYXN1cmUgdGhlbT8KCi0gVGhlIG9iamVjdGl2ZSBvZiB0aGlzIHByb2plY3QgaXMgdG8gY3JlYXRlIGFuIGludGVyYWN0aXZlIG1hcCBvZiB0aGUgY291bnRpZXMgb2YgQ08gYW5kIHRoZSBiZWUgc3BlY2llcyB0aGF0IGNhbiBiZSBmb3VuZCB3aXRoaW4gdGhlbSBeW1Njb3R0LCBWaXJnaW5pYSBMLiAiQmVlcyBvZiBDb2xvcmFkbyAuIiBDb2xvcmFkbyBSZXZpZXcsIHZvbC4gNDQsIG5vLiAyLCAxIFNlcHQuIDIwMTEsIHBwLiAyMC0zNC4sIGRvaToxMC4xMzUzL2NvbC4yMDE3LjAwNTkuXS4gSGVyZSBpcyBhIGxpbmsgXltodHRwczovL3d3dy5jb2xvcmFkby5lZHUvY3VtdXNldW0vc2l0ZXMvZGVmYXVsdC9maWxlcy9hdHRhY2hlZC1maWxlcy90aGVfYmVlc19vZl9jb2xvcmFkby5wZGZdLgoKIyMjIEludHJvZHVjdGlvbjogCldoYXQgaXMgdGhlIHByb3Bvc2VkIHByb2plY3Q/IFdoeSBpcyB0aGlzIGltcG9ydGFudD8gV2h5IGlzIHRoaXMgaW50ZXJlc3RpbmcgdG8gbWU/IEhvdyB3aWxsIGl0IGVuaGFuY2UgdGhlIEJ1dHRlcmZseSBQYXZpbGlvbj8KCi0gSXQgaXMgbXkgaG9wZSB0aGF0IHRoaXMgaW50ZXJhY3RpdmUgbWFwIG9mIGFsbCBuYXRpdmUgYmVlIHNwZWNpZXMgaW4gQ29sb3JhZG8gd2lsbCBiZSBpbmZvcm1hdGl2ZSwgZWR1Y2F0aW9uYWwsIGFuZCB3aWxsIHBvc3NpYmx5IGhlbHAgaW4gdGhlIGZ1dHVyZSB0byB0cmFjayB3aGVyZSBiZWUgc3BlY2llcyBoYXZlIG1vdmVkIHRvIG9yIGlmIG5ldyBzcGVjaWVzIGFyZSBpbnRyb2R1Y2VkIHRvIENPLiBUaGlzIGNvdWxkIGJlIGJlbmVmaWNpYWwgdG8gdGhlIEJ1dHRlcmZseSBQYXZpbGlvbiBpbiBleHBhbmRpbmcgaXRzIHJlc291cmNlcyB0byBpbmNsdWRlIG1vcmUgb25saW5lIGl0ZW1zLiBJdCBpcyBpbXBvcnRhbnQgdG8gdW5kZXJzdGFuZCB3aGVyZSB0aGVzZSBiZWUgc3BlY2llcyBjYW4gbGl2ZSB0byB1bmRlcnN0YW5kIG1vcmUgYWJvdXQgdGhlIGNsaW1hdGUgaW4gZWFjaCBjb3VudHkgb2YgdGhlIHN0YXRlLiAgTW9yZW92ZXIsIGNlcnRhaW4gc3BlY2llcywgaG9uZXkgYmVlcyBpbiBwYXJ0aWN1bGFyLCBhcmUga2V5c3RvbmUgc3BlY2llcyB0aGF0IGNhbiBzaG93IHRoZSBnZW5lcmFsIGhlYWx0aCBvZiB0aGUgYXJlYSBpbiB3aGljaCB0aGV5IGxpdmUuIENvbnNpZGVyaW5nIHRoZSByZWNlbnQgZGVjbGluZSBpbiBob25leSBiZWUgcG9wdWxhdGlvbnMgaXQgaXMgaW1wb3J0YW50IHRvIHByb3RlY3QgdGhlaXIgaGFiaXRhdHMgd2hlbmV2ZXIgcG9zc2libGUgaW4gb3JkZXIgdG8gbWFpbnRhaW4gYSBoZWFsdGh5IGJpb21lIGZvciB0aGVtLiAKLSBXaGVuIEkgd2FzIHlvdW5nZXIsIGFuZCBiZWZvcmUgSSBtb3ZlZCB0byBDTywgSSBtYWludGFpbmVkIGEgaG9uZXkgYmVlIGhpdmUgZm9yIG1hbnkgeWVhcnMgYW5kIGdyZXcgdG8gbG92ZSB0aGUgY29tcGxleGl0eSBvZiBhIGhpdmUgYW5kIHRoZSByb2xlcyBvZiBlYWNoIGJlZSBpbiBhIGhpdmUuIEkgaGFkIHNpbmNlIGZvcmdvdHRlbiBteSBsb3ZlIGZvciB0aGUgYW1hemluZyBwb2xsaW5hdG9yIHVudGlsIGNvbWluZyB0byB0aGUgQnV0dGVyZmx5IFBhdmlsaW9uIHdoZXJlIEkgbGVhcm5lZCBqdXN0IGhvdyBtYW55IHNwZWNpZXMgb2YgYmVlcyBhcmUgYWN0dWFsbHkgbmF0aXZlIHRvIENPLiBJIGFzc3VtZWQgYmVjYXVzZSBvZiB0aGUgZHJ5IGNsaW1hdGUgdGhlcmUgd291bGQgYmUgbWFueSBmZXdlciBzcGVjaWVzIG9mIGJlZXMuIEJ1dCwgYXQgOTQ2IHNwZWNpZXMgYW5kIGNvdW50aW5nLCBDTyBpcyBhIHBlcmZlY3QgaGFiaXRhdCBmb3IgYmVlcy4gCgojIyMgTWV0aG9kczogCkhvdyB3YXMgdGhlIGRhdGEgY29sbGVjdGVkPwoJCi0gVGhlIGRhdGEgd2lsbCBhbGwgY29tZSBmcm9tIHRoZSBjaXRlZCBhcnRpY2xlIGZyb20gMjAxMSBvZiBhbGwgYmVlIHNwZWNpZXMgaW4gQ08uIEkgd2lsbCB0aGVuIHRyYW5zY3JpYmUgdGhlIGJlZXMgYW5kIHRoZWlyIGNvdW50aWVzIGludG8gYW4gZXhjZWwgZG9jIGFuZCBpbXBvcnQgaXQgaW50byAnUiBTdHVkaW8sJyB1c2UgYSBtYXAgZ2VuZXJhdGluZyBzb2Z0d2FyZSAoUGxvdGx5KSB0byBvdmVybGF5IGEgcG9saXRpY2FsIG1hcCBvZiBDTyAodG8gc2hvdyBlYWNoIGNvdW50eSksIHdpdGggdGhlIGxpc3Qgb2YgYmVlcy4gCgojIyMgTWF0ZXJpYWxzOiAKV2hhdCBtYXRlcmlhbHMgd2lsbCBiZSB1c2VkPyBDb3N0PyBXaGVyZSB3aWxsIHRoZXkgY29tZSBmcm9tPwoKLSBBbGwgbWF0ZXJpYWxzIHdpbGwgYmUgb2J0YWluZWQgb25saW5lIGFuZCBhcmUgYXZhaWxhYmxlIGZvciBmcmVlLCBwdWJsaWMgdXNlLgoJCiMgUmVzdWx0czoKVGhlIGZvbGxvd2luZyBpcyBhIG1hcCBvZiB0aGUgbnVtYmVyICpyZWNvcmRlZCogb2YgYmVlIHNwZWNpZXMgaW4gQ29sb3JhZG8uIEFuZCBhIHJlZnJlbmNlIG1hcCBmb3IgdGhlIGNvdW50aWVzLgoKYGBge3J9Cmluc3RhbGwucGFja2FnZXMoJ0RUJykKaW5zdGFsbC5wYWNrYWdlcygidGlkeXZlcnNlIikKaW5zdGFsbC5wYWNrYWdlcygiZHBseXIiKQpyZXF1aXJlKERUKQppbnN0YWxsLnBhY2thZ2VzKCJwbG90bHkiKQpsaWJyYXJ5KHBsb3RseSkKbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KHRpZHl2ZXJzZSkKCiMgdW5lbXAgZGF0YQpkZiA8LSBCdXR0ZXJmbHlfQm9vazEKZGYgPC0gZGZbLGMoMToyKV0KbmFtZXMoZGYpIDwtIGMoInNwZWNpZXMiLCAiY291bnR5IikKZGYkY291bnR5IDwtIHRvbG93ZXIoZ3N1YigiIENvdW50eSwgW0EtWl17Mn0iLCAiIiwgZGYkY291bnR5KSkKY29sb3JhZG8gPC0gZGYKCmNvbG9yYWRvIDwtIGFnZ3JlZ2F0ZShzcGVjaWVzfnN1YnJlZ2lvbiwgZGF0YSA9IGNvbG9yYWRvLCBwYXN0ZTAsIGNvbGxhcHNlPSIsICIpCm51bWJlcnNwZWNpZXMgPC0gZGYgJT4lIAogIGdyb3VwX2J5KHN1YnJlZ2lvbikgJT4lIAogIG11dGF0ZSh0b3RhbHNwZWNpZXMgPSBuKCkpICU+JSAKICBzbGljZSgxKSAlPiUgCiAgc2VsZWN0KHN1YnJlZ2lvbiwgdG90YWxzcGVjaWVzKQoKI2NvbG9yYWRvIDwtIGxlZnRfam9pbihjb2xvcmFkbywgbnVtYmVyc3BlY2llcykKCiMgbGF5b3V0IHN0eWxlCmJsYW5rX2xheWVyIDwtIGxpc3QoCiAgdGl0bGUgPSAiIiwKICBzaG93Z3JpZCA9IEYsCiAgc2hvd3RpY2tsYWJlbHMgPSBGLAogIHplcm9saW5lID0gRikKCiMgcGxvdGx5IG9iamVjdApyZXF1aXJlKHBsb3RseSkKCmJsYW5rX2xheWVyIDwtIGxpc3QoCiAgdGl0bGUgPSAiIiwKICBzaG93Z3JpZCA9IEYsCiAgc2hvd3RpY2tsYWJlbHMgPSBGLAogIHplcm9saW5lID0gRikKCmNvbG5hbWVzKGNvbG9yYWRvKTwtIGMoInN1YnJlZ2lvbiIsICJzcGVjaWVzIikKY29sbmFtZXMobnVtYmVyc3BlY2llcykgPC0gYygic3VicmVnaW9uIiwgInRvdGFsc3BlY2llcyIpCmNvbG9yYWRvIDwtIG1lcmdlKGNvbG9yYWRvLCBudW1iZXJzcGVjaWVzLCBieT0ic3VicmVnaW9uIikKI2NvbG9yYWRvX3JhdGUgPC0gbGVmdF9qb2luKGNvbG9yYWRvX3JhdGUsIGNvbG9yYWRvKQpjb2xvcmFkb19yYXRlIDwtIGNvbG9yYWRvX3JhdGUgJT4lIHNlbGVjdChzdWJyZWdpb24sbG9uZyxsYXQscmVnaW9uLG5hbWUsc3BlY2llcyx0b3RhbHNwZWNpZXMpCnAgPC0gY29sb3JhZG9fcmF0ZSAlPiUKICBncm91cF9ieShzdWJyZWdpb24pICU+JQogIHBsb3RfbHkoeCA9IH5sb25nLCAKICAgICAgICAgIHkgPSB+bGF0LCAKICAgICAgICAgIGNvbG9yID0gfmFzLmZhY3Rvcih0b3RhbHNwZWNpZXMpLCAKICAgICAgICAgIGNvbG9ycyA9ICJHcmVlbnMiLAogICAgICAgICAgc2hvd2xlZ2VuZCA9IEZBTFNFKSAlPiUKICBhZGRfcG9seWdvbnMobGluZSA9IGxpc3Qod2lkdGggPSAwLjQpKSAlPiUKICAjIGFkZF9wb2x5Z29ucygKICAjICAgZmlsbGNvbG9yID0gJ3RyYW5zcGFyZW50JywKICAjICAgbGluZSA9IGxpc3QoY29sb3IgPSAnYmxhY2snLCB3aWR0aCA9IDAuNSkKICAjICkgJT4lCiAgbGF5b3V0KAogICAgdGl0bGUgPSAiPGI+QmVlIFNwZWNpZXMgb2YgPGJyPkNvbG9yYWRvPC9iPiIsCiAgICB0aXRsZWZvbnQgPSBsaXN0KHNpemUgPSAxMiksCiAgICBob3Zlcm1vZGUgPSAneCcsCiAgICAjdGV4dCA9IGNvbG9yYWRvJHN1YnJlZ2lvbiwKICAgICNob3ZlcmluZm8gPSAidGV4dCIsCiAgICB4YXhpcyA9IGJsYW5rX2xheWVyLAogICAgeWF4aXMgPSBibGFua19sYXllcgogICkKCnAKCgpgYGAKCiFbXShodHRwczovL2dyZWF0ZXJtZXRyb3JlZ2lvbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQvQ09fUE9TVF9SZWdpb25fTWFwXzIwMTcucG5nKQoKIyBEaXNjdXNzaW9uOgoKLQlTdGlwdWxhdGlvbnMgYWJvdXQgdGhlIGRhdGE6CgpBbHRob3VnaCA5NDYgc3BlY2llcyBtYXkgc2VlbSBsaWtlIGEgY29tcGxldGUgY291bnQgZm9yIGFsbCBiZWUgc3BlY2llcyBpbiBDb2xvcmFkbywgaXQgaXMgaW1wb3J0YW50IHRvIG5vdGUgdGhhdCwgYWNjb3JkaW5nIHRvIHRoZSBhdXRob3Igb2YgdGhlIHBhcGVyLCAiW3RoZSBsaXN0XSBpcyBzaW1wbHkgZG9jdW1lbnRhdGlvbiBvZiBhIHNwZWNpZXMgaW4gYSBjb3VudHkgaWYgaXQgaGFkIGJlZW4gY29sbGVjdGVkIGFuZCBpZGVudGlmaWVkIGZyb20gdGhlcmUuIFvigKZdIC4gIEV2ZW4gaW4gQm91bGRlciBDb3VudHksIHVuZG91YnRlZGx5IHRoZSBiZXN0IHN1cnZleWVkIGNvdW50eSBpbiB0aGUgc3RhdGUsIEkgZXN0aW1hdGUgd2UndmUgZG9jdW1lbnRlZCBsZXNzIHRoYW4gODUlIG9mIHdoYXQgaXMgYWN0dWFsbHkgaGVyZS4iIE5ldmVydGhlbGVzcywgc3R1ZHlpbmcgYmVlcywgYmUgaXQgdGhlaXIgcG9wdWxhdGlvbiwgaGFiaXRhdCwgb3Igb3JpZ2luIGlzIGltcG9ydGFudCB0aGVzZSBkYXlzLgoKLQlIb3cgYmVlIHBvcHVsYXRpb25zIGhlbHAgdXM6CgpBcyBtYW55IG9mIHVzIGtub3cgdGhlIGRlY2xpbmluZyBiZWUgcG9wdWxhdGlvbnMgKGhvbmV5IGFuZCBvdGhlcnMpIHdpbGwgYmUgZGV0cmltZW50YWwgdG8gb3VyIHNvY2lldHkuICBOb3Qgb25seSBhcmUgaG9uZXkgYmVlcyBhIGtleXN0b25lIHNwZWNpZXMgaW5kaWNhdGluZyB0aGUgb3ZlcmFsbCBoZWFsdGggb2YgYSBiaW9tZSBvciBlY29zeXN0ZW0sIGJ1dCBhbGwgYmVlcyBhcmUgcG9sbGluYXRvcnMuIFBvbGxpbmF0b3JzIGFyZSBleHRyZW1lbHkgaW1wb3J0YW50IGFzIHRoZWlyICJjcm9zcy1wb2xsaW5hdGlvbiBoZWxwcyBhdCBsZWFzdCAzMCBwZXJjZW50IG9mIHRoZSB3b3JsZCdzIGNyb3BzIGFuZCA5MCBwZXJjZW50IG9mIG91ciB3aWxkIHBsYW50cyB0byB0aHJpdmUiIF5bIGh0dHBzOi8vd3d3Lm5yZGMub3JnL3NpdGVzL2RlZmF1bHQvZmlsZXMvYmVlcy5wZGZdLiBXaXRob3V0IHRoZSBjcm9zcyBwb2xsaW5hdGlvbiBmcm9tIGJlZXMgbWFueSBvZiB0aGUgd29ybGQgY3JvcHMgd2lsbCBkZWNyZWFzZSB0aGVpciB5aWVsZCBzdWJzdGFudGlhbGx5IGFuZCB3aWxsIGFmZmVjdCB0aGUgcmVzdCBvZiB0aGUgd29ybGQncyBlY29ub21pZXMgYW5kIG1hbnkgb3RoZXIgYXNwZWN0cyBvZiBzb2NpZXR5LiAKCi0JSG93IHdlIGNhbiBoZWxwIGJlZSBwb3B1bGF0aW9uczoKCkFjY29yZGluZyB0byBYZXJjZXNeIFtodHRwczovL3hlcmNlcy5vcmcvMjAxNy8wMy8xNy9icmluZy1iYWNrLXRoZS1wb2xsaW5hdG9ycy01LXdheXMtdG8taW5jcmVhc2UtbmVzdGluZy1oYWJpdGF0LWZvci1uYXRpdmUtYmVlcy9dIDUgd2F5cyB0byBoZWxwIGJlZSBwb3B1bGF0aW9ucyBhcmU7IAoxLiBNdWxjaGluZyBpbiBhIHdheSB0aGF0IGhlbHBzIGJlZXMgaGF2ZSBlYXNpZXIgYWNjZXNzIHRvIHRoZSBncm91bmQgYXMgbWFueSBiZWVzIG5lc3QgaW4gdGhlIGdyb3VuZC4KMi4gR3JvdyByYXNwYmVycmllcywgSm9lIFB5ZSB3ZWVkLCBlbGRlcmJlcnJ5LCBoeWRyYW5nZWFzLCBhbmQvb3Igb3RoZXIgcGxhbnRzIHdpdGggcGl0aHkgaG9sbG93IHN0ZW1zIGZvciBuZXN0aW5nIGJlZXMuCjMuIFNhdmUgYSBkZWFkIHRyZWUsIGxvZywgb3IgYnJhbmNoIGZvciBvdGhlciBpbnNlY3RzIHRvIGRldmVsb3AgYSBoYWJpdGF0IGFuZCBlY29zeXN0ZW0uCjQuIENyZWF0ZSBhIGJydXNoIHBpbGUgKHVubGVzcyBpdCBpcyBhIGZpcmUgaGF6YXJkKS4gU2ltaWxhciB0byB0aGUgYWJvdmUsIGRlY29tcG9zaW5nIG5hdHVyYWwgbWF0ZXJpYWxzIGFyZSBiZW5lZmljaWFsIHRvIGluc2VjdCBlY29zeXN0ZW1zLgo1LiBNYWtlIGEgYmVlIGhvdXNlLiBUaGVzZSBjcmFmdHMgYXJlIGZ1biB0byBkbyBhbmQgZ3JlYXQgaWYgdGhlcmUgaXMgbGltaXRlZCBhY2Nlc3MgdG8gbmVzdGluZyBncm91bmRzIGZvciBiZWVzLiBTb21lIHVzZSBjdXRzIG9mIGJhbWJvbywgb3RoZXJzIGNhcmRib2FyZCB0dWJlcy4gTWFueSBhcmUgZWxhYm9yYXRlIGFuZCBxdWl0ZSBiZWF1dGlmdWwgLSBidXQgdGhlIGVmZmljYWN5IG9mIHRoZXNlIHN0cnVjdHVyZXMgdmFyaWVzIHdpZGVseS4gQnVpbGRpbmcgYSBiZWUgaG90ZWwgY2FuIGJlIGEgZnVuLCBjcmFmdHksIEQuSS5ZLiBhZHZlbnR1cmUsIGFuZCBwcm92aWRlIHZhbHVhYmxlIG5lc3RpbmcgaGFiaXRhdC4KCi0JQ3JhenkgY29vbCBmYWN0cyBhYm91dCBiZWVzOgoKICAgICsgQmVlcyB1bmRlcnN0YW5kIHRoZSBjb25jZXB0IG9mIHplcm8gXlsgaHR0cHM6Ly93d3cuc2NpZW5jZWRhaWx5LmNvbS9yZWxlYXNlcy8yMDE4LzA2LzE4MDYwNzE0MTAzMS5odG1dCgogICAgKyAxNiBvei4gb2YgaG9uZXkgcmVxdWlyZXMgMSwxNTIgYmVlcyB0byB0cmF2ZWwgMTEyLDAwMCBtaWxlcyBhbmQgdmlzaXQgNC41IG1pbGxpb24gZmxvd2VycyBeWyBodHRwOi8vaGVhbHRoaW1wYWN0bmV3cy5jb20vMjAxNC9mb29kLXNlY3VyaXR5LXdoeS1jb25ncmVzcy1zaG91bGQtY2FyZS1hYm91dC10aGUtYmVlcG9jYWx5cHNlL10KCgojIEEgc2VhcmNoYWJsZSB0YWJsZSBmb3IgbW9yZSBpbmZvcm1hdGlvbjoKRmVlbCBmcmVlIHRvIGZpbmQgdGhlIG51bWJlciBvZiBuYXRpdmUgYmVlcyBmcm9tIHlvdXIgY291bnR5IGFuZCB0aGVpciBzY2llbnRpZmljIG5hbWVzCgpgYGB7cn0KaW5zdGFsbC5wYWNrYWdlcygnRFQnLCByZXBvcyA9ICJodHRwOi8vY3Jhbi51cy5yLXByb2plY3Qub3JnIikKZGF0YXRhYmxlKGRmLCBvcHRpb25zID0gbGlzdCgKICBzZWFyY2hpbmcgPSBUUlVFLAogIHBhZ2VMZW5ndGggPSAxMCwKICBsZW5ndGhNZW51ID0gYyg1LCAxMCwgMTUsIDIwKQopLCAKZmlsdGVyPSJ0b3AiKQpgYGA=